$(function(){
    var allPage,page,searchKey,size,juese_index;

    // 将当前登录账户所对应的角色名取出来...设置其删除按钮禁用...
    var  currentRoleName = JSON.parse(base.decode(localStorage.getItem( base.encode('rolelist') ) ) ).roleName;

    //页面初始化,,,,,,获取角色列表;    已经做好!
    jueseList( 1,'',10 );


    // 将获取     角色列表的       函数封装向里面穿参数   已经做好!
    function jueseList( page,searchKey,size )
    {

        $.ajax({
            async:false,
            cache:false,
            headers: {"Accept-CMS-Token":token},
            type:'post',
            url:getrolelist,
            crossDomain:true,
            data:{
                page:page,
                searchKey:searchKey,
                size:size
            },
            dataType:'json',
            success:successFn,
            error:function (){
                console.log('获取角色列表接口获取失败!!');
            }
        });
        return allPage;
    };

    //向后台请求参数,,,如果请求成功,,,就执行该函数,,,
    function successFn( result )
    {
        if(result.resultCode == 200)
        {
            var value = result.value;
            allPage = result.count;
            if( value !=null )
            {
                //清空表格
                clearTable();

                // 当前账户对应的角色不可以删除....
                var username = JSON.parse(base.decode(localStorage.getItem( base.encode('userinfo') )) ).username;

                for( var i=0;i<value.length;i++ )
                {
                    $('.juese_admin').append('<tr roleid="'+value[i].id+'"></tr>');

                    $('.juese_admin tr').eq(i+1).append('<td>'+(i+1)+'</td>');

                    $('.juese_admin tr').eq(i+1).append('<td>'+value[i].roleName+'</td>')

                    $('.juese_admin tr').eq(i+1).append('<td>'+value[i].description+'</td>')

                    if( currentRoleName == value[i].roleName )
                    {
                        $('.juese_admin tr').eq(i+1).append('<td><a class="ed edit_juese">编辑</a><a class="dis">删除</a></td>')
                    }
                    else
                    {
                        $('.juese_admin tr').eq(i+1).append('<td><a class="ed edit_juese">编辑</a><a class="not-sure-delete">删除</a></td>')
                    }

                };
                return allPage;
            }
            else
            {
                clearTable();
                $('.juese_admin').append('<tr><td></td><td>您搜索的内容不存在</td><td></td><td></td></tr>');
                hintUser();

                return allPage = 1;
            };
        }
        else if(result.resultCode == 515)
        {
            reLogin()
        }
        else
        {
            clearTable();
            $('.account_admin').append('<tr><td></td><td>您搜索的内容不存在</td><td></td><td></td></tr>');
            hintUser();

            return allPage = 1;
        };
        console.log('获取角色列表接口请求成功!!!!');
    };

    //清空表格当中的数据,并且追加表头
    function clearTable()
    {
        $('.juese_admin').html('');
        $('.juese_admin').append('<tr></tr>');
        $('.juese_admin tr').eq(0).append('<th>序号</th><th>角色名</th><th>描述</th><th>操作</th>');
    };

    //当输入文本框中时,,,按下enter键,,,发起搜索,,,按下键盘中的shift+enter键时向后台发起搜索,,
    $(document).keydown(function(event){
        var ev = ev || event;

        if( ev.keyCode == 13 )
        {
            searchKey = $('input[name = juese_sou_cont]').val();
            page = jueseList( 1,searchKey,10 );
            getPage(page);
            // $('input[name = juese_sou_cont]').val('');
        };

    });

    //初始化总页数
    getPage(allPage);

    // 页面的搜索功能      已经做好!!
    $('.sou_juese').click(function(){
        searchKey = $('input[name = juese_sou_cont]').val();
        page = jueseList( 1,searchKey,10 );
        getPage(page);
        // $('input[name = juese_sou_cont]').val('');
    });

    // 角色的删除操作,,,由于是动态生成的需要用到用到on来绑定事件;;;;
    $(document).on('click','.not-sure-delete',function (){
        var x = $('.not-sure-delete').index(this);//获取到的是在整个页面当中.not-sure-delete这个类名的index;
        $('.mask-change').show();
        $('.delete-juese').show();
        juese_index = x;
        return juese_index;
    });

    //点击确定删除,删除角色对应的那一行,向后台发送那一条角色的id,同时前端的表格去除那一行;已解决
    $('.sure-delete-juese').click(function(){
        var roleId = $('.user-admin tr').eq(juese_index+1).attr('roleid');
        console.log(juese_index);
        $.ajax({
            type:'get',
            url:deleterole,
            headers: {"Accept-CMS-Token":token},
            data:{
                roleId:roleId,
            },
            dataType:'json',
            success:function(result){
                if(result.resultCode == 200)
                {
                    console.log('删除角色接口请求成功!!!!');
                }
                else if(result.resultCode == 515)
                {
                    reLogin()
                }
            },
            error:function (){
                console.log('删除角色接口获取失败!!');
            }
        });
        // 对应表格那一行的删除
        $('.mask-change').hide();
        $('.delete-juese').hide();
        $('.juese_admin tr').eq(juese_index+1).remove();
    });

    //取消删除角色的那一行;
    $('.chang-cancle').click(function(){
        $('.mask-change').hide()
        $('.delete-juese').hide()
    });

    // 将分页插件封装,方便多次调用
    function getPage(allPage){
        $('.M-box2').pagination({
            pageCount:allPage,
            jump:true,
            coping:true,
            homePage:'首页',
            endPage:'末页',
            prevContent:'上页',
            nextContent:'下页',
            callback:function (api){//当点击页面当中的时候,会出发这个callback函数;;;;
                var page = api.getCurrent()+"";//得到的是要跳转到的那一页的页码;
                searchKey = $('input[name = juese_sou_cont]').val();
                jueseList( page,searchKey,10 )
            }
        });
    };

    // 当后台状态码是515时,让客户重新登录
    function reLogin()
    {
        alert('登录超时,请重新登录!');
        localStorage.clear();
        window.location.href = login_jump;
    };

    // 为二级菜单所对应的页面中设置显示新增,编辑,删除这些按钮...用地址栏对应的id作为判断条件...后台返回来的数据是:新增,编辑,状态,
    var changeId = $.getUrlParam('id');
    var btnStatus = [];
    var userId = localStorage.getItem('陈');
    if(userId == null)
    {
        alert('亲,不好意思,请重新登录!')
        window.location.href = login_jump;
    };
    var information = JSON.parse( base.decode(localStorage.getItem( userId )) );
    var ul_li_permissionlist = information.ul_li_permissionlist;//三级菜单中的数据

    function showBtnStatus()
    {
        flagOuter:for( var i=0;i< ul_li_permissionlist.length;i++)
        {
            for( var j=0;j<ul_li_permissionlist[i].length;j++ )
            {
                if( ul_li_permissionlist[i][j].length > 0 )
                {
                    for( var q=0;q<ul_li_permissionlist[i][j].length;q++ )
                    {
                        if( ul_li_permissionlist[i][j][q].pid == changeId )
                        {
                            btnStatus = ul_li_permissionlist[i][j];
                            break flagOuter;
                        };
                    };
                }
            };
        };
        if( btnStatus.length > 0 )
        {
            for( var x=0;x<btnStatus.length;x++ )
            {
                if( btnStatus[x].permissionName == '新增' )
                {
                    $('.xinzeng').show();
                }
                else if( btnStatus[x].permissionName == '编辑' )
                {
                    $('.edit_juese').show();
                }
                else if( btnStatus[x].permissionName == '删除' )
                {
                    $('.not-sure-delete').show();
                }
                else
                {
                    $('.xinzeng').hide();
                    $('.edit_juese').hide();
                    $('.not-sure-delete').hide();
                }
            };
        }
        else
        {
            $('.xinzeng').hide();
            $('.edit_juese').hide();
            $('.not-sure-delete').hide();
        };
    };

    if( changeId != null )
    {
        showBtnStatus();
    };

    //点击编辑,跳转到编辑角色页面     由于编辑按钮是动态生成的,,需要用到on来绑定事件  已经做好!
    $(document).on('click','.edit_juese',function(){
        var x = $('.edit_juese').index(this);//获取到的是在整个页面当中.edit_juese这个类名的index;
        var can = $('.juese_admin tr').eq(x+1).attr('roleid');
        window.location.href = edit_juese + '?roleid='+can+'&id='+changeId;
    });

    // 为跳转页面赋值
    $('.xinzeng a').attr( 'href','add_juese.html?id='+changeId );











});
